Sending Multi-Channel Fallback Requests
The Conversation API allows enterprises to send fallback message requests — for example, if RCS fails, attempt WhatsApp; if WhatsApp also fails, attempt SMS. Enterprises can choose any two or all three channels together in any order.
note
The enterprise must be onboarded for all channels before sending a fallback request.
RCS → SMS Fallback
If RCS delivery fails (DLR received from channel), SMS is triggered. DLRs for both messages are pushed to the enterprise webhook URL.
SMS Parameter Reference
| # | Parameter | Description | Required |
|---|---|---|---|
| 1 | userid | User ID provided by Sinch India | M |
| 2 | pass | Password for authentication | M |
| 3 | appid | Application ID | M |
| 4 | subappid | Subdivision app ID | O |
| 5 | msgid | Unique ID per request (generated by enterprise) | M |
| 6 | msisdn | Mobile number(s) — comma separated for multiple | M |
| 7 | from | Sender ID | M |
| 8 | contenttype | 1 for text SMS | M |
| 9 | selfid | Set to true | M |
| 10 | text | Message text | M |
| 11 | dpi | DLT principal entity ID | O |
| 12 | dtm | DLT template ID | O |
| 13 | tc | Template category: 1=Transactional, 2=Promotional, 3=Service Implicit, 4=Service Explicit | O |
| 14 | language | Regional language code | O |
| 15 | shorten | URL shortening flag (0=disable, 1=enable) | O |
M = Mandatory, O = Optional
Sample RCS-SMS Fallback Request
{
"app_id": "01H0MFFJFX0YAWYA5XG4D3MRTA",
"recipient": {
"identified_by": {
"channel_identities": [
{ "channel": "RCS", "identity": "919876543210" },
{ "channel": "SMS", "identity": "919876543210" }
]
}
},
"message": {
"explicit_channel_message": {
"SMS": "{\"userId\":\"sindsasms\",\"pass\":\"sincdjh_5\",\"from\":\"ACLTST\",\"selfid\":\"true\",\"contenttype\":\"1\",\"to\":\"919876543210\",\"text\":\"Hi Shubham greetings from ACL.\",\"alert\":\"1\"}"
},
"template_message": {
"channel_template": {
"RCS": {
"template_id": "test_rich_carousel",
"language_code": "en",
"parameters": { "amount": "INR 500", "discount": "20%" }
}
}
}
},
"channel_priority_order": ["RCS", "SMS"]
}
API Response
A successful request returns HTTP 200 with the following structure:
{
"message_id": "01H4ZNS6KDC7YDBXN95CWRHPBS",
"accepted_time": "2023-07-10T10:33:00.781Z"
}
The message_id is the unique identifier used in DLR callbacks.